home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesU-Z.lzh / WCLeaderboardGolf.lha / WCLBGolfHD / Install next >
Text File  |  2002-05-24  |  8KB  |  301 lines

  1. ;****************************
  2.  
  3. (set #sub-dir "data")            ;sub directory containing data files
  4. (set #readme-file "ReadMe")        ;name of readme file
  5. (set #man-file "Manual")        ;name of manual file
  6. (set #hint-file "Hints")        ;name of hint file
  7. (set #sol-file "Solution")        ;name of solution file
  8. (set #highs-file "highs")        ;name of high scores file
  9. (set #prefix "WCLBGolf")                 ;name of slave, directory
  10.  
  11. (procedure P_Install
  12.       (set #AD_disk "Golf")
  13.       (P_disk)
  14.       (copyfiles
  15.         (help @copyfiles-help)
  16.         (source ("%s:" #AD_disk))
  17.         (dest #dest)
  18.         (pattern "(WCLB|Golf|params")
  19.       )
  20.       (copyfiles
  21.         (help @copyfiles-help)
  22.         (source ("%s:devs/system-configuration" #AD_disk))
  23.         (dest (tackon #dest "devs"))
  24.       )
  25. )
  26.  
  27. ;****************************
  28. ;----------------------------
  29. ; checks if given program is installed, if not abort install
  30. ; #program - to check
  31.  
  32. (procedure P_ChkRun
  33.   (if
  34.     (= 0 (run ("cd SYS:\nWhich %s" #program)))
  35.     ("")
  36.     (abort
  37.       (cat
  38.     "You must install \"" #program "\" first!\n"
  39.     "It must be accessible via the path.\n"
  40.     "You can find it in the WHDLoad package."
  41.       )
  42.     )
  43.   )
  44. )
  45.  
  46. ;----------------------------
  47. ; Wait for inserting disk
  48. ; IN:  #AD_disk - name of disk
  49. ; OUT: -
  50.  
  51. (procedure P_disk
  52.   (askdisk
  53.     (dest #AD_disk)
  54.     (prompt ("\nInsert Disk \"%s\" in any drive!" #AD_disk))
  55.     (help @askdisk-help)
  56.   )
  57. )
  58.  
  59. ;----------------------------
  60. ; copy file including icon if exist
  61. ; #copy-file - name of file to copy
  62.  
  63. (procedure P_CopyFile
  64.   (if
  65.     (exists #copy-file)
  66.     (
  67.       (copyfiles
  68.         (help @copyfiles-help)
  69.         (source #copy-file)
  70.         (dest #dest)
  71.       )
  72.       (if
  73.         (exists ("%s.info" #copy-file))
  74.         (
  75.           (copyfiles
  76.             (help @copyfiles-help)
  77.             (source ("%s.info" #copy-file))
  78.             (dest #dest)
  79.           )
  80.           (tooltype
  81.             (dest (tackon #dest #copy-file))
  82.             (noposition)
  83.           )
  84.         )
  85.       )
  86.     )
  87.   )
  88. )
  89.  
  90. ;****************************
  91.  
  92.  
  93. (if
  94.   (< @installer-version (+ (* 44 65536) 10))
  95.   (
  96.   (message
  97.     (cat
  98.       "Warning: your installer is outdated.\n"
  99.       "All features of this installation won't be available, such as icon show and drawer opening.\n"
  100.       "You have version " (/ @installer-version 65536) "." 
  101.       (BITAND @installer-version 65535) ", needed is at least version 44.10. "
  102.       "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  103.       "You may also use the InstallerNG by Jens Tröger."
  104.       "\n\n"
  105.       "The installers can be obtained from the net:\n"
  106.       "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  107.       "aminet:util/sys/InstallerNG.lha"
  108.     )
  109.   )
  110.   (set #newstuff 0)
  111.   )
  112.   (set #newstuff 1)
  113. )
  114.  
  115. (if
  116.   (exists #readme-file)
  117.   (if
  118.     (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  119.     ("")
  120.     (run ("SYS:Utilities/More %s" #readme-file))
  121.   )
  122. )
  123.  
  124. (set #program "WHDLoad")
  125. (P_ChkRun)
  126.  
  127. (if
  128.   (getenv "WHDLInstPath")
  129.   (set @default-dest (getenv "WHDLInstPath"))
  130. )
  131. (set #dest
  132.   (askdir
  133.     (prompt
  134.       (cat
  135.     "Where should \"" @app-name "\" be installed?\n"
  136.     "A drawer \"" #prefix "\" will be automatically created."
  137.       )
  138.     )
  139.     (help @askdir-help)
  140.     (default @default-dest)
  141.   )
  142. )
  143. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  144. (set #dest (tackon #dest #prefix))
  145. (if
  146.   (exists #dest)
  147.   (
  148.     (set #choice
  149.       (askbool
  150.         (prompt
  151.           (cat
  152.             "\nDirectory \"" #dest "\" already exists.\n"
  153.             "Should it be deleted?"
  154.           )
  155.         )
  156.         (default 1)
  157.         (choices "Delete" "Skip")
  158.         (help @askbool-help)
  159.       )
  160.     )
  161.     (if
  162.       (= #choice 1)
  163.       (delete #dest
  164.         (help @delete-help)
  165.         (all)
  166.       )
  167.     )
  168.   )
  169. )
  170. (makedir #dest
  171.   (help @makedir-help)
  172.   (infos)
  173. )
  174.  
  175. ;----------------------------
  176.  
  177. (copyfiles
  178.   (help @copyfiles-help)
  179.   (source ("%s.Slave" #prefix))
  180.   (dest #dest)
  181. )
  182. (if (exists ("%s.glowexot"  #prefix)) ((set #icon 7)(set #icnt (+ 1 #icnt))(set #icon-gex "Exotic GlowIcon")) (set #icon-gex ""))
  183. (if (exists ("%s.newexot"   #prefix)) ((set #icon 6)(set #icnt (+ 1 #icnt))(set #icon-nex "Exotic NewIcon"))  (set #icon-nex ""))
  184. (if (exists ("%s.exoticon"  #prefix)) ((set #icon 5)(set #icnt (+ 1 #icnt))(set #icon-exo "Exoticon"))        (set #icon-exo ""))
  185. (if (exists ("%s.glowicon"  #prefix)) ((set #icon 4)(set #icnt (+ 1 #icnt))(set #icon-glo "Glow Icon"))       (set #icon-glo ""))
  186. (if (exists ("%s.coloricon" #prefix)) ((set #icon 3)(set #icnt (+ 1 #icnt))(set #icon-col "OS3.5 Icon"))      (set #icon-col ""))
  187. (if (exists ("%s.newicon"   #prefix)) ((set #icon 2)(set #icnt (+ 1 #icnt))(set #icon-new "NewIcon"))         (set #icon-new ""))
  188. (if (exists ("%s.romicon"   #prefix)) ((set #icon 1)(set #icnt (+ 1 #icnt))(set #icon-rom "RomIcon"))         (set #icon-rom ""))
  189. (if (exists ("%s.inf"       #prefix)) ((set #icon 0)(set #icnt (+ 1 #icnt))(set #icon-nor "Normal"))          (set #icon-nor ""))
  190. (procedure P_Icon
  191.   (copyfiles
  192.     (help @copyfiles-help)
  193.     (source ("%s.%s" #prefix #icon-suf))
  194.     (newname ("%s.info" #icon-name))
  195.     (dest #icon-dir)
  196.   )
  197.   (tooltype
  198.     (dest (tackon #icon-dir #icon-name))
  199.     (noposition)
  200.   )
  201. )
  202. (if
  203.   (> #icnt 1)
  204.   (
  205.     (set #icon-dir ("T:%s Icons" #prefix))
  206.     (makedir #icon-dir
  207.       (help @makedir-help)
  208.     )
  209.     (if #icon-nor ((set #icon-suf "inf")      (set #icon-name "Normal")          (P_Icon)))
  210.     (if #icon-rom ((set #icon-suf "romicon")  (set #icon-name "RomIcon")         (P_Icon)))
  211.     (if #icon-new ((set #icon-suf "newicon")  (set #icon-name "NewIcon")         (P_Icon)))
  212.     (if #icon-col ((set #icon-suf "coloricon")(set #icon-name "OS3.5 Icon")      (P_Icon)))
  213.     (if #icon-glo ((set #icon-suf "glowicon") (set #icon-name "Glow Icon")       (P_Icon)))
  214.     (if #icon-exo ((set #icon-suf "exoticon") (set #icon-name "Exoticon")        (P_Icon)))
  215.     (if #icon-nex ((set #icon-suf "newexot")  (set #icon-name "Exotic NewIcon")  (P_Icon)))
  216.     (if #icon-gex ((set #icon-suf "glowexot") (set #icon-name "Exotic GlowIcon") (P_Icon)))
  217. (if (= #newstuff 1)
  218.     (openwbobject #icon-dir)
  219. )
  220.     (set #icon
  221.       (askchoice
  222.         (prompt "\nWhich icon would you like to install?\n")
  223.         (choices #icon-nor #icon-rom #icon-new #icon-col #icon-glo #icon-exo #icon-nex #icon-gex)
  224.         (default #icon)
  225.         (help @askchoice-help)
  226.       )
  227.     )
  228.    (if (= #newstuff 1)
  229.      (closewbobject #icon-dir)
  230.    )
  231.     (delete #icon-dir
  232.       (help @delete-help)
  233.       (all)
  234.     )
  235.   )
  236. )
  237. (select #icon
  238.   (set #icon "inf")
  239.   (set #icon "romicon")
  240.   (set #icon "newicon")
  241.   (set #icon "coloricon")
  242.   (set #icon "glowicon")
  243.   (set #icon "exoticon")
  244.   (set #icon "newexot")
  245.   (set #icon "glowexot")
  246. )
  247. (copyfiles
  248.   (help @copyfiles-help)
  249.   (source ("%s.%s" #prefix #icon))
  250.   (newname ("%s.info" #prefix))
  251.   (dest #dest)
  252. )
  253. (if
  254.   (= #icon "newicon")
  255.   ("")
  256.   (
  257.     (tooltype
  258.       (dest (tackon #dest #prefix))
  259.       (settooltype "Slave")
  260.       (settooltype "PreLoad")
  261.     )
  262.     (tooltype
  263.       (dest (tackon #dest #prefix))
  264.       (settooltype "PreLoad" "")
  265.       (settooltype "Slave" ("%s.Slave" #prefix))
  266.     )
  267.   )
  268. )
  269. (tooltype
  270.   (dest (tackon #dest #prefix))
  271.   (setdefaulttool "WHDLoad")
  272.   (setstack 10240)
  273.   (noposition)
  274. )
  275. (set #copy-file #readme-file)
  276. (P_CopyFile)
  277. (set #copy-file #man-file)
  278. (P_CopyFile)
  279. (set #copy-file #hint-file)
  280. (P_CopyFile)
  281. (set #copy-file #sol-file)
  282. (P_CopyFile)
  283. (set #dest-org #dest)
  284. (if
  285.   (= #sub-dir "")
  286.   ("")
  287.   (
  288.     (set #dest (tackon #dest #sub-dir))
  289.     (makedir #dest
  290.       (help @makedir-help)
  291.     )
  292.   )
  293. )
  294. (set #copy-file #highs-file)
  295. (P_CopyFile)
  296. (P_Install)
  297. (if (= #newstuff 1)
  298.    (openwbobject #dest-org)
  299. )
  300. (exit)
  301.